home *** CD-ROM | disk | FTP | other *** search
Text File | 1991-03-06 | 1.5 KB | 34 lines | [TEXT/GEOL] |
- Item 5808317 3-July-89 15:06
-
- From: PASCOE1 Pascoe, Geoff
-
- To: MACAPP.TECH$ MACAPP Tech
-
- Sub: More on GC
-
- Mikel,
-
- First- There's a lot of work going on with generation- and/or copy-based
- collectors. In particular, you may want to look into Appel's work ( I think
- he's at Brown )- sorry I don't have the references handy.
-
- Second- Assignment really isn't the problem at all. The problem is assigning
- older objects to newer objects. If this happens too often, statistically, then
- the efficiency of generation-based collectors deteriorate, since they work best
- when newer objects can be collected without refering to older objects. In Lisp
- this is appears to be the case. Smalltalk, though, probably will not differ
- considerably in this respect from languages like Object Pascal. And, Ungar
- appears to get pretty good performance with Smalltalk.
-
- Actually, after working on this kind of stuff for a while, I've come to the
- conclusion that adding GC to languages like Object Pascal and C/C++/Objective-C
- is probably a net loss. Basically, you pay for the overall languages
- inflexibility to get a "a lot" of efficiency, then you take a hit on doing GC
- in languages never designed to handle it (it actually costs more in languages
- like these. Then, the programmer has to follow all these special rules to make
- sure he doesn't break the collector. Basically, you get the worst of both
- worlds. It's best to design the language from the bottom-up to handle GC well.
-
- Geoff
-
-